
class B {
    a = 2
}

class A extends B {
    a = 1
    constructor() {
        super();
    }

    f(b: B): B {
        return b
    }
}

let a = new A();
console.log((a as B).a)

interface C {

}

abstract class D {
    abstract f(s:Array<number>,): void;
}
